Empirical Evaluation of Metaheuristic Approaches for Symbolic Execution based Automated Test Generation
نویسندگان
چکیده
This paper empirically evaluates four meta-heuristic search techniques namely particle swarm optimization, artificial bee colony algorithm, Genetic Algorithm and Big Bang Big Crunch Algorithm for automatic test data generation for procedure oriented programs using structural symbolic testing method. Test data is generated for each feasible path of the programs. Experiments on ten benchmark programs of varying sizes and complexities are conducted and the subsequent performance results are presented. All the four algorithms have been evaluated on average test cases per path and average percentage coverage per path. It has been observed that the particle swarm optimization based algorithm outperforms the other three algorithms. The result also concludes that predicates solving difficulty (such as constraints having equality operator‘&&’ as join operator) has a direct relationship with testing efforts rather than program complexity measures such as cyclomatic complexity, number of decision nodes etc. Keyword: Software testing, Symbolic execution, Genetic Algorithm, Swarm Intelligence, Particle Swarm optimization, Artificial Bee Colony algorithm, Big Bang Big Crunch Algorithm.
منابع مشابه
Use of Evolutionary Techniques for Symbolic Execution Based Testing
Evolutionary methods when used as a test data generator optimize the given input (usually called test case) according to a selected test coverage criterion encoded as a fitness function. Basically, the genetic algorithms and other Evolutionary techniques are based on pure random search. However, these algorithms adapt to the given problem. In the last decade lot of evolution based metaheuristic...
متن کاملGenerating Fixtures for JavaScript Unit Testing
In today’s web applications, JavaScript code interacts with the Document Object Model (DOM) at runtime. This runtime interaction between JavaScript and the DOM is errorprone and challenging to test. In order to unit test a JavaScript function that has read/write DOM operations, a DOM instance has to be provided as a test fixture. This DOM fixture needs to be in the exact structure expected by t...
متن کاملAn empirical investigation into branch coverage for C programs using CUTE and AUSTIN
Automated test data generation has remained a topic of considerable interest for several decades because it lies at the heart of attempts to automate the process of Software Testing. This paper reports the results of an empirical study using the dynamic symbolic-execution tool, CUTE, and a search based tool, AUSTIN on five non-trivial open source applications. The aim is to provide practitioner...
متن کاملA Framework for Guided Test Case Generation in Constraint Logic Programming
Performing test case generation by symbolic execution on large programs becomes quickly impracticable due to the path explosion problem. A common limitation that this problem poses is the generation of unnecessarily large number of possibly irrelevant or redundant test cases even for medium-size programs. Tackling the path explosion problem and selecting high quality test cases are considered m...
متن کاملSymbolic Test-generation in HOL-TESTGEN/CirTA A Case Study
HOL-TestGen/CirTA is a theorem-prover based test generation environment for specifications written in Circus, a process-algebraic specification language in the tradition of CSP. HOL-TestGen/CirTA is based on a formal embedding of its semantics in Isabelle/HOL, allowing to derive rules over specification constructs in a logically safe way. Beyond the derivation of algebraic laws and calculi for ...
متن کامل